const fs = require('fs')
function getFileByPath(fpath){
    var promise = new Promise(function(resolve,reject){
        fs.readFile(fpath,'utf-8',(err,datastr)=>{
            if(err) return reject(err)
            resolve(datastr)
        })
    })

    return promise

}

// var p = getFileByPath('./files/2.txt')
// p.then(function(data){
//     console.log(data+'-----------')
// },function(err){
//     console.log(err.message)
// })


//promise正确使用方式
//如果前面的promise执行失败，我们不想让后续的promise操作被终止
//，每个promise指定失败的回调

// getFileByPath('./files/11.txt')
// .then(function(data){
//     console.log(data)

//     return getFileByPath('./files/2.txt')
// },function(err){
//     console.log('这是失败的信息：'+err.message)
//     return getFileByPath('./files/2.txt')
// })
// .then(function(data){
//     console.log(data)
//     return getFileByPath('./files/3.txt')
// })
// .then(function(data){
//     console.log(data)
// })


//不指定失败回调，出错就终止，并且捕获错误信息

getFileByPath('./files/1.txt')
.then(function(data){
    console.log(data)

    return getFileByPath('./files/22.txt')
})
.then(function(data){
    console.log(data)
    return getFileByPath('./files/3.txt')
})
.then(function(data){
    console.log(data)
})
.catch(function(err){
    console.log('这是捕获的错误信息：'+err.message)
})